<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
<!-- qopengldebug.cpp -->
  <title>QOpenGLDebugMessage Class | Qt GUI 5.14.2</title>
  <link rel="stylesheet" type="text/css" href="style/offline-simple.css" />
  <script type="text/javascript">
    document.getElementsByTagName("link").item(0).setAttribute("href", "style/offline.css");
    // loading style sheet breaks anchors that were jumped to before
    // so force jumping to anchor again
    setTimeout(function() {
        var anchor = location.hash;
        // need to jump to different anchor first (e.g. none)
        location.hash = "#";
        setTimeout(function() {
            location.hash = anchor;
        }, 0);
    }, 0);
  </script>
</head>
<body>
<div class="header" id="qtdocheader">
  <div class="main">
    <div class="main-rounded">
      <div class="navigationbar">
        <table><tr>
<td ><a href="../qtdoc/index.html">Qt 5.14</a></td><td ><a href="qtgui-index.html">Qt GUI</a></td><td ><a href="qtgui-module.html">C++ Classes</a></td><td >QOpenGLDebugMessage</td></tr></table><table class="buildversion"><tr>
<td id="buildversion" width="100%" align="right"><a href="qtgui-index.html">Qt 5.14.2 Reference Documentation</a></td>
        </tr></table>
      </div>
    </div>
<div class="content">
<div class="line">
<div class="content mainContent">
<div class="sidebar">
<div class="toc">
<h3><a name="toc">Contents</a></h3>
<ul>
<li class="level1"><a href="#public-types">Public Types</a></li>
<li class="level1"><a href="#public-functions">Public Functions</a></li>
<li class="level1"><a href="#static-public-members">Static Public Members</a></li>
<li class="level1"><a href="#related-non-members">Related Non-Members</a></li>
<li class="level1"><a href="#details">Detailed Description</a></li>
</ul>
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">QOpenGLDebugMessage Class</h1>
<!-- $$$QOpenGLDebugMessage-brief -->
<p>The QOpenGLDebugMessage class wraps an OpenGL debug message. <a href="#details">More...</a></p>
<!-- @@@QOpenGLDebugMessage -->
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> Header:</td><td class="memItemRight bottomAlign">   <span class="preprocessor">#include &lt;QOpenGLDebugMessage&gt;</span>
</td></tr><tr><td class="memItemLeft rightAlign topAlign"> qmake:</td><td class="memItemRight bottomAlign"> QT += gui</td></tr><tr><td class="memItemLeft rightAlign topAlign"> Since:</td><td class="memItemRight bottomAlign"> Qt 5.1</td></tr></table></div><p>This class was introduced in Qt 5.1.</p>
<ul>
<li><a href="qopengldebugmessage-members.html">List of all members, including inherited members</a></li>
</ul>
<p><b>Note:</b> All functions in this class are <a href="../qtdoc/threads-reentrancy.html">reentrant</a>.</p>
<a name="public-types"></a>
<h2 id="public-types">Public Types</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> flags </td><td class="memItemRight bottomAlign"><b><a href="qopengldebugmessage.html#Severity-enum">Severities</a></b></td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> enum </td><td class="memItemRight bottomAlign"><b><a href="qopengldebugmessage.html#Severity-enum">Severity</a></b> { InvalidSeverity, HighSeverity, MediumSeverity, LowSeverity, NotificationSeverity, AnySeverity }</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> enum </td><td class="memItemRight bottomAlign"><b><a href="qopengldebugmessage.html#Source-enum">Source</a></b> { InvalidSource, APISource, WindowSystemSource, ShaderCompilerSource, ThirdPartySource, &hellip;, AnySource }</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> flags </td><td class="memItemRight bottomAlign"><b><a href="qopengldebugmessage.html#Source-enum">Sources</a></b></td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> enum </td><td class="memItemRight bottomAlign"><b><a href="qopengldebugmessage.html#Type-enum">Type</a></b> { InvalidType, ErrorType, DeprecatedBehaviorType, UndefinedBehaviorType, PortabilityType, &hellip;, AnyType }</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> flags </td><td class="memItemRight bottomAlign"><b><a href="qopengldebugmessage.html#Type-enum">Types</a></b></td></tr>
</table></div>
<a name="public-functions"></a>
<h2 id="public-functions">Public Functions</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qopengldebugmessage.html#QOpenGLDebugMessage-1">QOpenGLDebugMessage</a></b>(const QOpenGLDebugMessage &amp;<i>debugMessage</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qopengldebugmessage.html#QOpenGLDebugMessage">QOpenGLDebugMessage</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QOpenGLDebugMessage &amp;</td><td class="memItemRight bottomAlign"><b><a href="qopengldebugmessage.html#operator-eq-1">operator=</a></b>(QOpenGLDebugMessage &amp;&amp;<i>debugMessage</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QOpenGLDebugMessage &amp;</td><td class="memItemRight bottomAlign"><b><a href="qopengldebugmessage.html#operator-eq">operator=</a></b>(const QOpenGLDebugMessage &amp;<i>debugMessage</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qopengldebugmessage.html#dtor.QOpenGLDebugMessage">~QOpenGLDebugMessage</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> GLuint </td><td class="memItemRight bottomAlign"><b><a href="qopengldebugmessage.html#id">id</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QString </td><td class="memItemRight bottomAlign"><b><a href="qopengldebugmessage.html#message">message</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QOpenGLDebugMessage::Severity </td><td class="memItemRight bottomAlign"><b><a href="qopengldebugmessage.html#severity">severity</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QOpenGLDebugMessage::Source </td><td class="memItemRight bottomAlign"><b><a href="qopengldebugmessage.html#source">source</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qopengldebugmessage.html#swap">swap</a></b>(QOpenGLDebugMessage &amp;<i>debugMessage</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QOpenGLDebugMessage::Type </td><td class="memItemRight bottomAlign"><b><a href="qopengldebugmessage.html#type">type</a></b>() const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qopengldebugmessage.html#operator-not-eq">operator!=</a></b>(const QOpenGLDebugMessage &amp;<i>debugMessage</i>) const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qopengldebugmessage.html#operator-eq-eq">operator==</a></b>(const QOpenGLDebugMessage &amp;<i>debugMessage</i>) const</td></tr>
</table></div>
<a name="static-public-members"></a>
<h2 id="static-public-members">Static Public Members</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> QOpenGLDebugMessage </td><td class="memItemRight bottomAlign"><b><a href="qopengldebugmessage.html#createApplicationMessage">createApplicationMessage</a></b>(const QString &amp;<i>text</i>, GLuint <i>id</i> = 0, QOpenGLDebugMessage::Severity <i>severity</i> = NotificationSeverity, QOpenGLDebugMessage::Type <i>type</i> = OtherType)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QOpenGLDebugMessage </td><td class="memItemRight bottomAlign"><b><a href="qopengldebugmessage.html#createThirdPartyMessage">createThirdPartyMessage</a></b>(const QString &amp;<i>text</i>, GLuint <i>id</i> = 0, QOpenGLDebugMessage::Severity <i>severity</i> = NotificationSeverity, QOpenGLDebugMessage::Type <i>type</i> = OtherType)</td></tr>
</table></div>
<a name="related-non-members"></a>
<h2 id="related-non-members">Related Non-Members</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> QDebug </td><td class="memItemRight bottomAlign"><b><a href="qopengldebugmessage.html#operator-lt-lt">operator&lt;&lt;</a></b>(QDebug <i>debug</i>, QOpenGLDebugMessage::Source <i>source</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QDebug </td><td class="memItemRight bottomAlign"><b><a href="qopengldebugmessage.html#operator-lt-lt-1">operator&lt;&lt;</a></b>(QDebug <i>debug</i>, QOpenGLDebugMessage::Type <i>type</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QDebug </td><td class="memItemRight bottomAlign"><b><a href="qopengldebugmessage.html#operator-lt-lt-2">operator&lt;&lt;</a></b>(QDebug <i>debug</i>, QOpenGLDebugMessage::Severity <i>severity</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QDebug </td><td class="memItemRight bottomAlign"><b><a href="qopengldebugmessage.html#operator-lt-lt-4">operator&lt;&lt;</a></b>(QDebug <i>debug</i>, const QOpenGLDebugMessage &amp;<i>message</i>)</td></tr>
</table></div>
<a name="details"></a>
<!-- $$$QOpenGLDebugMessage-description -->
<div class="descr">
<h2 id="details">Detailed Description</h2>
<p>Debug messages are usually created by the OpenGL server and then read by OpenGL clients (either from the OpenGL internal debug log, or logged in real-time). A debug message has a textual representation, a vendor-specific numeric id, a source, a type and a severity.</p>
<p>It's also possible for applications or third-party libraries and toolkits to create and insert messages in the debug log. In order to do so, you can use the <a href="qopengldebugmessage.html#createApplicationMessage">createApplicationMessage</a>() or the <a href="qopengldebugmessage.html#createThirdPartyMessage">createThirdPartyMessage</a>() static functions.</p>
</div>
<p><b>See also </b><a href="qopengldebuglogger.html">QOpenGLDebugLogger</a>.</p>
<!-- @@@QOpenGLDebugMessage -->
<div class="types">
<h2>Member Type Documentation</h2>
<!-- $$$Severity$$$InvalidSeverity$$$HighSeverity$$$MediumSeverity$$$LowSeverity$$$NotificationSeverity$$$LastSeverity$$$AnySeverity -->
<h3 class="flags" id="Severity-enum"><a name="Severity-enum"></a>enum QOpenGLDebugMessage::<span class="name">Severity</span><br/>flags QOpenGLDebugMessage::<span class="name">Severities</span></h3>
<p>The Severity enum defines the severity of the debug message.</p>
<div class="table"><table class="valuelist"><tr valign="top" class="odd"><th class="tblConst">Constant</th><th class="tblval">Value</th><th class="tbldscr">Description</th></tr>
<tr><td class="topAlign"><code>QOpenGLDebugMessage::InvalidSeverity</code></td><td class="topAlign tblval"><code>0x00000000</code></td><td class="topAlign">The severity of the message is invalid; this is the severity of a default-constructed <a href="qopengldebugmessage.html">QOpenGLDebugMessage</a> object.</td></tr>
<tr><td class="topAlign"><code>QOpenGLDebugMessage::HighSeverity</code></td><td class="topAlign tblval"><code>0x00000001</code></td><td class="topAlign">The message has a high severity.</td></tr>
<tr><td class="topAlign"><code>QOpenGLDebugMessage::MediumSeverity</code></td><td class="topAlign tblval"><code>0x00000002</code></td><td class="topAlign">The message has a medium severity.</td></tr>
<tr><td class="topAlign"><code>QOpenGLDebugMessage::LowSeverity</code></td><td class="topAlign tblval"><code>0x00000004</code></td><td class="topAlign">The message has a low severity.</td></tr>
<tr><td class="topAlign"><code>QOpenGLDebugMessage::NotificationSeverity</code></td><td class="topAlign tblval"><code>0x00000008</code></td><td class="topAlign">The message is a notification.</td></tr>
<tr><td class="topAlign"><code>QOpenGLDebugMessage::AnySeverity</code></td><td class="topAlign tblval"><code>0xffffffff</code></td><td class="topAlign">This value corresponds to a mask of all possible message severities.</td></tr>
</table></div>
<p>The Severities type is a typedef for <a href="../qtcore/qflags.html">QFlags</a>&lt;Severity&gt;. It stores an OR combination of Severity values.</p>
<!-- @@@Severity -->
<!-- $$$Source$$$InvalidSource$$$APISource$$$WindowSystemSource$$$ShaderCompilerSource$$$ThirdPartySource$$$ApplicationSource$$$OtherSource$$$LastSource$$$AnySource -->
<h3 class="flags" id="Source-enum"><a name="Source-enum"></a>enum QOpenGLDebugMessage::<span class="name">Source</span><br/>flags QOpenGLDebugMessage::<span class="name">Sources</span></h3>
<p>The Source enum defines the source of the debug message.</p>
<div class="table"><table class="valuelist"><tr valign="top" class="odd"><th class="tblConst">Constant</th><th class="tblval">Value</th><th class="tbldscr">Description</th></tr>
<tr><td class="topAlign"><code>QOpenGLDebugMessage::InvalidSource</code></td><td class="topAlign tblval"><code>0x00000000</code></td><td class="topAlign">The source of the message is invalid; this is the source of a default-constructed <a href="qopengldebugmessage.html">QOpenGLDebugMessage</a> object.</td></tr>
<tr><td class="topAlign"><code>QOpenGLDebugMessage::APISource</code></td><td class="topAlign tblval"><code>0x00000001</code></td><td class="topAlign">The message was generated in response to OpenGL API calls.</td></tr>
<tr><td class="topAlign"><code>QOpenGLDebugMessage::WindowSystemSource</code></td><td class="topAlign tblval"><code>0x00000002</code></td><td class="topAlign">The message was generated by the window system.</td></tr>
<tr><td class="topAlign"><code>QOpenGLDebugMessage::ShaderCompilerSource</code></td><td class="topAlign tblval"><code>0x00000004</code></td><td class="topAlign">The message was generated by the shader compiler.</td></tr>
<tr><td class="topAlign"><code>QOpenGLDebugMessage::ThirdPartySource</code></td><td class="topAlign tblval"><code>0x00000008</code></td><td class="topAlign">The message was generated by a third party, for instance an OpenGL framework a or debugging toolkit.</td></tr>
<tr><td class="topAlign"><code>QOpenGLDebugMessage::ApplicationSource</code></td><td class="topAlign tblval"><code>0x00000010</code></td><td class="topAlign">The message was generated by the application itself.</td></tr>
<tr><td class="topAlign"><code>QOpenGLDebugMessage::OtherSource</code></td><td class="topAlign tblval"><code>0x00000020</code></td><td class="topAlign">The message was generated by a source not included in this enumeration.</td></tr>
<tr><td class="topAlign"><code>QOpenGLDebugMessage::AnySource</code></td><td class="topAlign tblval"><code>0xffffffff</code></td><td class="topAlign">This value corresponds to a mask of all possible message sources.</td></tr>
</table></div>
<p>The Sources type is a typedef for <a href="../qtcore/qflags.html">QFlags</a>&lt;Source&gt;. It stores an OR combination of Source values.</p>
<!-- @@@Source -->
<!-- $$$Type$$$InvalidType$$$ErrorType$$$DeprecatedBehaviorType$$$UndefinedBehaviorType$$$PortabilityType$$$PerformanceType$$$OtherType$$$MarkerType$$$GroupPushType$$$GroupPopType$$$LastType$$$AnyType -->
<h3 class="flags" id="Type-enum"><a name="Type-enum"></a>enum QOpenGLDebugMessage::<span class="name">Type</span><br/>flags QOpenGLDebugMessage::<span class="name">Types</span></h3>
<p>The Type enum defines the type of the debug message.</p>
<div class="table"><table class="valuelist"><tr valign="top" class="odd"><th class="tblConst">Constant</th><th class="tblval">Value</th><th class="tbldscr">Description</th></tr>
<tr><td class="topAlign"><code>QOpenGLDebugMessage::InvalidType</code></td><td class="topAlign tblval"><code>0x00000000</code></td><td class="topAlign">The type of the message is invalid; this is the type of a default-constructed <a href="qopengldebugmessage.html">QOpenGLDebugMessage</a> object.</td></tr>
<tr><td class="topAlign"><code>QOpenGLDebugMessage::ErrorType</code></td><td class="topAlign tblval"><code>0x00000001</code></td><td class="topAlign">The message represents an error.</td></tr>
<tr><td class="topAlign"><code>QOpenGLDebugMessage::DeprecatedBehaviorType</code></td><td class="topAlign tblval"><code>0x00000002</code></td><td class="topAlign">The message represents an usage of deprecated behavior.</td></tr>
<tr><td class="topAlign"><code>QOpenGLDebugMessage::UndefinedBehaviorType</code></td><td class="topAlign tblval"><code>0x00000004</code></td><td class="topAlign">The message represents an usage of undefined behavior.</td></tr>
<tr><td class="topAlign"><code>QOpenGLDebugMessage::PortabilityType</code></td><td class="topAlign tblval"><code>0x00000008</code></td><td class="topAlign">The message represents an usage of vendor-specific behavior, that might pose portability concerns.</td></tr>
<tr><td class="topAlign"><code>QOpenGLDebugMessage::PerformanceType</code></td><td class="topAlign tblval"><code>0x00000010</code></td><td class="topAlign">The message represents a performance issue.</td></tr>
<tr><td class="topAlign"><code>QOpenGLDebugMessage::OtherType</code></td><td class="topAlign tblval"><code>0x00000020</code></td><td class="topAlign">The message represents a type not included in this enumeration.</td></tr>
<tr><td class="topAlign"><code>QOpenGLDebugMessage::MarkerType</code></td><td class="topAlign tblval"><code>0x00000040</code></td><td class="topAlign">The message represents a marker in the debug log.</td></tr>
<tr><td class="topAlign"><code>QOpenGLDebugMessage::GroupPushType</code></td><td class="topAlign tblval"><code>0x00000080</code></td><td class="topAlign">The message represents a debug group push operation.</td></tr>
<tr><td class="topAlign"><code>QOpenGLDebugMessage::GroupPopType</code></td><td class="topAlign tblval"><code>0x00000100</code></td><td class="topAlign">The message represents a debug group pop operation.</td></tr>
<tr><td class="topAlign"><code>QOpenGLDebugMessage::AnyType</code></td><td class="topAlign tblval"><code>0xffffffff</code></td><td class="topAlign">This value corresponds to a mask of all possible message types.</td></tr>
</table></div>
<p>The Types type is a typedef for <a href="../qtcore/qflags.html">QFlags</a>&lt;Type&gt;. It stores an OR combination of Type values.</p>
<!-- @@@Type -->
</div>
<div class="func">
<h2>Member Function Documentation</h2>
<!-- $$$QOpenGLDebugMessage$$$QOpenGLDebugMessageconstQOpenGLDebugMessage& -->
<h3 class="fn" id="QOpenGLDebugMessage-1"><a name="QOpenGLDebugMessage-1"></a>QOpenGLDebugMessage::<span class="name">QOpenGLDebugMessage</span>(const <span class="type"><a href="qopengldebugmessage.html#QOpenGLDebugMessage">QOpenGLDebugMessage</a></span> &amp;<i>debugMessage</i>)</h3>
<p>Constructs a debug message as a copy of <i>debugMessage</i>.</p>
<p><b>See also </b><a href="qopengldebugmessage.html#operator-eq">operator=</a>().</p>
<!-- @@@QOpenGLDebugMessage -->
<!-- $$$QOpenGLDebugMessage[overload1]$$$QOpenGLDebugMessage -->
<h3 class="fn" id="QOpenGLDebugMessage"><a name="QOpenGLDebugMessage"></a>QOpenGLDebugMessage::<span class="name">QOpenGLDebugMessage</span>()</h3>
<p>Constructs a debug message with an empty message string, id set to 0, source set to <a href="qopengldebugmessage.html#Source-enum">InvalidSource</a>, type set to <a href="qopengldebugmessage.html#Type-enum">InvalidType</a>, and severity set to <a href="qopengldebugmessage.html#Severity-enum">InvalidSeverity</a>.</p>
<p><b>Note: </b>This constructor should not be used to create a debug message; instead, use the <a href="qopengldebugmessage.html#createApplicationMessage">createApplicationMessage</a>() or the <a href="qopengldebugmessage.html#createThirdPartyMessage">createThirdPartyMessage</a>() static functions.</p><p><b>See also </b><a href="qopengldebugmessage.html#createApplicationMessage">createApplicationMessage</a>() and <a href="qopengldebugmessage.html#createThirdPartyMessage">createThirdPartyMessage</a>().</p>
<!-- @@@QOpenGLDebugMessage -->
<!-- $$$operator=$$$operator=QOpenGLDebugMessage&& -->
<h3 class="fn" id="operator-eq-1"><a name="operator-eq-1"></a><span class="type"><a href="qopengldebugmessage.html#QOpenGLDebugMessage">QOpenGLDebugMessage</a></span> &amp;QOpenGLDebugMessage::<span class="name">operator=</span>(<span class="type"><a href="qopengldebugmessage.html#QOpenGLDebugMessage">QOpenGLDebugMessage</a></span> &amp;&amp;<i>debugMessage</i>)</h3>
<p>Move-assigns <i>debugMessage</i> to this object.</p>
<!-- @@@operator= -->
<!-- $$$operator=[overload1]$$$operator=constQOpenGLDebugMessage& -->
<h3 class="fn" id="operator-eq"><a name="operator-eq"></a><span class="type"><a href="qopengldebugmessage.html#QOpenGLDebugMessage">QOpenGLDebugMessage</a></span> &amp;QOpenGLDebugMessage::<span class="name">operator=</span>(const <span class="type"><a href="qopengldebugmessage.html#QOpenGLDebugMessage">QOpenGLDebugMessage</a></span> &amp;<i>debugMessage</i>)</h3>
<p>Assigns the message <i>debugMessage</i> to this object, and returns a reference to the copy.</p>
<!-- @@@operator= -->
<!-- $$$~QOpenGLDebugMessage[overload1]$$$~QOpenGLDebugMessage -->
<h3 class="fn" id="dtor.QOpenGLDebugMessage"><a name="dtor.QOpenGLDebugMessage"></a>QOpenGLDebugMessage::<span class="name">~QOpenGLDebugMessage</span>()</h3>
<p>Destroys this debug message.</p>
<!-- @@@~QOpenGLDebugMessage -->
<!-- $$$createApplicationMessage[overload1]$$$createApplicationMessageconstQString&GLuintQOpenGLDebugMessage::SeverityQOpenGLDebugMessage::Type -->
<h3 class="fn" id="createApplicationMessage"><a name="createApplicationMessage"></a><code>[static] </code><span class="type"><a href="qopengldebugmessage.html#QOpenGLDebugMessage">QOpenGLDebugMessage</a></span> QOpenGLDebugMessage::<span class="name">createApplicationMessage</span>(const <span class="type"><a href="../qtcore/qstring.html">QString</a></span> &amp;<i>text</i>, <span class="type">GLuint</span> <i>id</i> = 0, <span class="type"><a href="qopengldebugmessage.html#Severity-enum">QOpenGLDebugMessage::Severity</a></span> <i>severity</i> = NotificationSeverity, <span class="type"><a href="qopengldebugmessage.html#Type-enum">QOpenGLDebugMessage::Type</a></span> <i>type</i> = OtherType)</h3>
<p>Constructs and returns a debug message with <i>text</i> as its text, <i>id</i> as id, <i>severity</i> as severity, and <i>type</i> as type. The message source will be set to <a href="qopengldebugmessage.html#Source-enum">ApplicationSource</a>.</p>
<p><b>See also </b><a href="qopengldebuglogger.html#logMessage">QOpenGLDebugLogger::logMessage</a>() and <a href="qopengldebugmessage.html#createThirdPartyMessage">createThirdPartyMessage</a>().</p>
<!-- @@@createApplicationMessage -->
<!-- $$$createThirdPartyMessage[overload1]$$$createThirdPartyMessageconstQString&GLuintQOpenGLDebugMessage::SeverityQOpenGLDebugMessage::Type -->
<h3 class="fn" id="createThirdPartyMessage"><a name="createThirdPartyMessage"></a><code>[static] </code><span class="type"><a href="qopengldebugmessage.html#QOpenGLDebugMessage">QOpenGLDebugMessage</a></span> QOpenGLDebugMessage::<span class="name">createThirdPartyMessage</span>(const <span class="type"><a href="../qtcore/qstring.html">QString</a></span> &amp;<i>text</i>, <span class="type">GLuint</span> <i>id</i> = 0, <span class="type"><a href="qopengldebugmessage.html#Severity-enum">QOpenGLDebugMessage::Severity</a></span> <i>severity</i> = NotificationSeverity, <span class="type"><a href="qopengldebugmessage.html#Type-enum">QOpenGLDebugMessage::Type</a></span> <i>type</i> = OtherType)</h3>
<p>Constructs and returns a debug message with <i>text</i> as its text, <i>id</i> as id, <i>severity</i> as severity, and <i>type</i> as type. The message source will be set to <a href="qopengldebugmessage.html#Source-enum">ThirdPartySource</a>.</p>
<p><b>See also </b><a href="qopengldebuglogger.html#logMessage">QOpenGLDebugLogger::logMessage</a>() and <a href="qopengldebugmessage.html#createApplicationMessage">createApplicationMessage</a>().</p>
<!-- @@@createThirdPartyMessage -->
<!-- $$$id[overload1]$$$id -->
<h3 class="fn" id="id"><a name="id"></a><span class="type">GLuint</span> QOpenGLDebugMessage::<span class="name">id</span>() const</h3>
<p>Returns the id of the debug message. Ids are generally vendor-specific.</p>
<!-- @@@id -->
<!-- $$$message[overload1]$$$message -->
<h3 class="fn" id="message"><a name="message"></a><span class="type"><a href="../qtcore/qstring.html">QString</a></span> QOpenGLDebugMessage::<span class="name">message</span>() const</h3>
<p>Returns the textual message contained by this debug message.</p>
<!-- @@@message -->
<!-- $$$severity[overload1]$$$severity -->
<h3 class="fn" id="severity"><a name="severity"></a><span class="type"><a href="qopengldebugmessage.html#Severity-enum">QOpenGLDebugMessage::Severity</a></span> QOpenGLDebugMessage::<span class="name">severity</span>() const</h3>
<p>Returns the severity of the debug message.</p>
<!-- @@@severity -->
<!-- $$$source[overload1]$$$source -->
<h3 class="fn" id="source"><a name="source"></a><span class="type"><a href="qopengldebugmessage.html#Source-enum">QOpenGLDebugMessage::Source</a></span> QOpenGLDebugMessage::<span class="name">source</span>() const</h3>
<p>Returns the source of the debug message.</p>
<!-- @@@source -->
<!-- $$$swap[overload1]$$$swapQOpenGLDebugMessage& -->
<h3 class="fn" id="swap"><a name="swap"></a><span class="type">void</span> QOpenGLDebugMessage::<span class="name">swap</span>(<span class="type"><a href="qopengldebugmessage.html#QOpenGLDebugMessage">QOpenGLDebugMessage</a></span> &amp;<i>debugMessage</i>)</h3>
<p>Swaps the message <i>debugMessage</i> with this message. This operation is very fast and never fails.</p>
<!-- @@@swap -->
<!-- $$$type[overload1]$$$type -->
<h3 class="fn" id="type"><a name="type"></a><span class="type"><a href="qopengldebugmessage.html#Type-enum">QOpenGLDebugMessage::Type</a></span> QOpenGLDebugMessage::<span class="name">type</span>() const</h3>
<p>Returns the type of the debug message.</p>
<!-- @@@type -->
<!-- $$$operator!=[overload1]$$$operator!=constQOpenGLDebugMessage& -->
<h3 class="fn" id="operator-not-eq"><a name="operator-not-eq"></a><span class="type">bool</span> QOpenGLDebugMessage::<span class="name">operator!=</span>(const <span class="type"><a href="qopengldebugmessage.html#QOpenGLDebugMessage">QOpenGLDebugMessage</a></span> &amp;<i>debugMessage</i>) const</h3>
<p>Returns <code>true</code> if this message is different from <i>debugMessage</i>, or false otherwise.</p>
<p><b>See also </b><a href="qopengldebugmessage.html#operator-eq-eq">operator==</a>().</p>
<!-- @@@operator!= -->
<!-- $$$operator==[overload1]$$$operator==constQOpenGLDebugMessage& -->
<h3 class="fn" id="operator-eq-eq"><a name="operator-eq-eq"></a><span class="type">bool</span> QOpenGLDebugMessage::<span class="name">operator==</span>(const <span class="type"><a href="qopengldebugmessage.html#QOpenGLDebugMessage">QOpenGLDebugMessage</a></span> &amp;<i>debugMessage</i>) const</h3>
<p>Returns <code>true</code> if this debug message is equal to <i>debugMessage</i>, or false otherwise. Two debugging messages are equal if they have the same textual message, the same id, the same source, the same type and the same severity.</p>
<p><b>See also </b><a href="qopengldebugmessage.html#operator-not-eq">operator!=</a>().</p>
<!-- @@@operator== -->
</div>
<div class="relnonmem">
<h2>Related Non-Members</h2>
<!-- $$$operator<<[overload1]$$$operator<<QDebugQOpenGLDebugMessage::Source -->
<h3 class="fn" id="operator-lt-lt"><a name="operator-lt-lt"></a><span class="type"><a href="../qtcore/qdebug.html">QDebug</a></span> <span class="name">operator&lt;&lt;</span>(<span class="type"><a href="../qtcore/qdebug.html">QDebug</a></span> <i>debug</i>, <span class="type"><a href="qopengldebugmessage.html#Source-enum">QOpenGLDebugMessage::Source</a></span> <i>source</i>)</h3>
<p>Writes the source <i>source</i> into the debug object <i>debug</i> for debugging purposes.</p>
<!-- @@@operator<< -->
<!-- $$$operator<<$$$operator<<QDebugQOpenGLDebugMessage::Type -->
<h3 class="fn" id="operator-lt-lt-1"><a name="operator-lt-lt-1"></a><span class="type"><a href="../qtcore/qdebug.html">QDebug</a></span> <span class="name">operator&lt;&lt;</span>(<span class="type"><a href="../qtcore/qdebug.html">QDebug</a></span> <i>debug</i>, <span class="type"><a href="qopengldebugmessage.html#Type-enum">QOpenGLDebugMessage::Type</a></span> <i>type</i>)</h3>
<p>Writes the type <i>type</i> into the debug object <i>debug</i> for debugging purposes.</p>
<!-- @@@operator<< -->
<!-- $$$operator<<$$$operator<<QDebugQOpenGLDebugMessage::Severity -->
<h3 class="fn" id="operator-lt-lt-2"><a name="operator-lt-lt-2"></a><span class="type"><a href="../qtcore/qdebug.html">QDebug</a></span> <span class="name">operator&lt;&lt;</span>(<span class="type"><a href="../qtcore/qdebug.html">QDebug</a></span> <i>debug</i>, <span class="type"><a href="qopengldebugmessage.html#Severity-enum">QOpenGLDebugMessage::Severity</a></span> <i>severity</i>)</h3>
<p>Writes the severity <i>severity</i> into the debug object <i>debug</i> for debugging purposes.</p>
<!-- @@@operator<< -->
<!-- $$$operator<<$$$operator<<QDebugconstQOpenGLDebugMessage& -->
<h3 class="fn" id="operator-lt-lt-4"><a name="operator-lt-lt-4"></a><span class="type"><a href="../qtcore/qdebug.html">QDebug</a></span> <span class="name">operator&lt;&lt;</span>(<span class="type"><a href="../qtcore/qdebug.html">QDebug</a></span> <i>debug</i>, const <span class="type"><a href="qopengldebugmessage.html#QOpenGLDebugMessage">QOpenGLDebugMessage</a></span> &amp;<i>message</i>)</h3>
<p>Writes the message <i>message</i> into the debug object <i>debug</i> for debugging purposes.</p>
<!-- @@@operator<< -->
</div>
        </div>
       </div>
   </div>
   </div>
</div>
<div class="footer">
   <p>
   <acronym title="Copyright">&copy;</acronym> 2020 The Qt Company Ltd.
   Documentation contributions included herein are the copyrights of
   their respective owners.<br/>    The documentation provided herein is licensed under the terms of the    <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation    License version 1.3</a> as published by the Free Software Foundation.<br/>    Qt and respective logos are trademarks of The Qt Company Ltd.     in Finland and/or other countries worldwide. All other trademarks are property
   of their respective owners. </p>
</div>
</body>
</html>
